package com.julian.templatePattern;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public abstract class CaffeeineBeverageWithHook {
    void prepareRecipe(){
        boilWater();
        brew();
        pourIncup();
        if(customerWantsCondients()){
            addCondients();
        }
    }

    protected boolean customerWantsCondients(){
        return true;
    };

    protected abstract void addCondients();

    protected void pourIncup(){
        System.out.println("Pouring water");
    };

    protected abstract void brew();

    protected void boilWater(){
        System.out.println("Boiling water");
    };
}
